﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
// 原题连接：https://leetcode.cn/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/
/*
题目描述：
在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。

示例 1:

输入：s = "abaccdeff"
输出：'b'
示例 2:

输入：s = ""
输出：' '
 

限制：

0 <= s 的长度 <= 50000
*/

// 开始解题：
// 方法1——计数排序
class Solution {
public:
    char firstUniqChar(string s) {
        int countStr[26] = { 0 };
        // 统计频率
        for (auto t : s) {
            countStr[t - 'a']++;
        }
        for (auto e : s) {
            if (1 == countStr[e - 'a']) {
                return e;
            }
        }
        return ' ';
    }
};
